package cn.watson.org.mapper;

import cn.watson.basic.utils.PageList;
import cn.watson.org.domain.Department;
import cn.watson.org.query.DepartmentQuery;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
* @Description: TODO
* @Author: ZhangRui
* @Version: 1.0
* @Date:  2022/6/21 18:23
*/
@Mapper
public interface DepartmentMapper {
    /**
    * @Title:
    * @Description: 分页+高级查询
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:25
    * @Parameters:
    * @Return
    */
    List<Department> queryData(DepartmentQuery departmentQuery);

    /**
    * @Title:
    * @Description: 查询所有
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:25
    * @Parameters:
    * @Return
    */
    List<Department> loadAll();

    /**
    * @Title: loadById
    * @Description: 更具id查询
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:26
    * @Parameters:
    * @Return
    */
    Department loadById(Long id);

    /**
    * @Title: remove
    * @Description: 更具id删除
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:26
    * @Parameters:
    * @Return
    */
    void remove(Long id);

    /** 
    * @Title: update
    * @Description: 修改
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:18  
    * @Parameters: 
    * @Return 
    */
    void update(Department department);


    /**
    * @Title: save
    * @Description: 新增
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:26
    * @Parameters:
    * @Return
    */
    void save(Department department);

    /**
    * @Title: queryCount
    * @Description: 查询总条数
    * @Author: ZhangRui
    * @Version: 1.0
    * @Date:  2022/6/21 18:26
    * @Parameters:
    * @Return
    */
    Integer queryCount(DepartmentQuery departmentQuery);
}
